package com.t.bricks.bussiness.db.entity.systemlog.base;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.t.bricks.annotation.DataInfo;

/**
 * 系统日志'SystemLog'表实体类
 * 警告:非数据库字段禁止在此添加,应该创建扩展实体中添加
 * @author HuangXinBian
 */
@ApiModel("系统日志SystemLog")
@DataInfo(sDbName="BricksBaseSystem", sTableName="SystemLog")
public class SystemLogBase implements Serializable {

	private static final long serialVersionUID = 1L;// 使用rmi时需修改

	/**
	 * 表编号
	 */
	//[start]
	@DataInfo( sDbName="BricksBaseSystem", sTableName="SystemLog",
		sName="iId", sComment="表编号", isDbField=true, sDbFileType="bigint",
		sDefaultData="", isExtra=true, iskey=true, isNull=false,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=0 )
	@ApiModelProperty(value="表编号", example="", position=0)
	//[end]
	protected Long iId;

	/**
	 * 操作人
	 */
	//[start]
	@DataInfo( sDbName="BricksBaseSystem", sTableName="SystemLog",
		sName="sAssistant", sComment="操作人", isDbField=true, sDbFileType="varchar",
		sDefaultData="0", isExtra=false, iskey=false, isNull=false,
		iMaxLength=8, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=1 )
	@ApiModelProperty(value="操作人", example="0", position=1)
	//[end]
	protected String sAssistant;

	/**
	 * 时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//解决表单提交时字符串时间值错误
	//[start]
	@DataInfo( sDbName="BricksBaseSystem", sTableName="SystemLog",
		sName="dLastTime", sComment="时间", isDbField=true, sDbFileType="datetime",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=23, isDecimal=false, iIntegralLength=-1, iDecimalLength=-1, iIndex=2 )
	@ApiModelProperty(value="时间", example="", position=2)
	//[end]
	protected Date dLastTime;

	/**
	 * 日志
	 */
	//[start]
	@DataInfo( sDbName="BricksBaseSystem", sTableName="SystemLog",
		sName="sMsg", sComment="日志", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=255, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=3 )
	@ApiModelProperty(value="日志", example="", position=3)
	//[end]
	protected String sMsg;

	/**
	 * 状态
	 */
	//[start]
	@DataInfo( sDbName="BricksBaseSystem", sTableName="SystemLog",
		sName="iStatus", sComment="状态", isDbField=true, sDbFileType="int",
		sDefaultData="0", isExtra=false, iskey=false, isNull=true,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=4 )
	@ApiModelProperty(value="状态", example="0", position=4)
	//[end]
	protected Integer iStatus;

	/**
	 * 取 表编号
	 * @return Long
	 */
	public Long getiId() {
		return iId;
	}

	/**
	 * 设置 表编号
	 * @param iId
	 */
	public void setiId(Long iId) {
		this.iId = iId;
	}

	/**
	 * 取 操作人
	 * @return String
	 */
	public String getsAssistant() {
		return sAssistant;
	}

	/**
	 * 设置操作人
	 * @param sAssistant
	 */
	public void setsAssistant(String sAssistant) {
		this.sAssistant = sAssistant;
	}

	/**
	 * 取 时间
	 * @return Date
	 */
	public Date getdLastTime() {
		return dLastTime;
	}

	/**
	 * 设置时间
	 * @param dLastTime
	 */
	public void setdLastTime(Date dLastTime) {
		this.dLastTime = dLastTime;
	}

	/**
	 * 取 日志
	 * @return String
	 */
	public String getsMsg() {
		return sMsg;
	}

	/**
	 * 设置日志
	 * @param sMsg
	 */
	public void setsMsg(String sMsg) {
		this.sMsg = sMsg;
	}

	/**
	 * 取 状态
	 * @return Integer
	 */
	public Integer getiStatus() {
		return iStatus;
	}

	/**
	 * 设置状态
	 * @param iStatus
	 */
	public void setiStatus(Integer iStatus) {
		this.iStatus = iStatus;
	}

	/**
	 * 复制对象
	 * @param source 数据源
	 * @return SystemLogBase
	 */
	public static SystemLogBase copy(SystemLogBase source) {
		if (null == source) {
			return null;
		}
		
		SystemLogBase target = new SystemLogBase();
		target.setiId(source.getiId());
		target.setsAssistant(source.getsAssistant());
		target.setdLastTime(source.getdLastTime());
		target.setsMsg(source.getsMsg());
		target.setiStatus(source.getiStatus());

		return target;
	}
	
	/**
	 * 克隆对象
	 * @return SystemLogBase
	 */
	public SystemLogBase clone() {
		return copy(this);
	}
	
}
